#pragma once
#include <core/addin/mfcmapi.h>
#include <core/mapi/extraPropTags.h>

// Where our flag parsing array is defined

// when listing flagVALUE entries, NULL values need to come first
FLAG_ARRAY_ENTRY g_FlagArray[] = {
	// clang-format off
	FLAG_ENTRY_NAMED(PR_ACKNOWLEDGEMENT_MODE, 0x00000000, L"Manual acknowledgment", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ACKNOWLEDGEMENT_MODE, 0x00000001, L"Automatic acknowledgment", flagVALUE) // STRING_OK

	FLAG_ENTRY(PR_IMPORTANCE, IMPORTANCE_LOW, flagVALUE) // NULL value
	FLAG_ENTRY(PR_IMPORTANCE, IMPORTANCE_NORMAL, flagVALUE)
	FLAG_ENTRY(PR_IMPORTANCE, IMPORTANCE_HIGH, flagVALUE)

	FLAG_ENTRY(PR_CERT_DEFAULTS, MSG_DEFAULTS_NONE, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_CERT_DEFAULTS, MSG_DEFAULTS_FOR_FORMAT, flagFLAG)
	FLAG_ENTRY(PR_CERT_DEFAULTS, MSG_DEFAULTS_GLOBAL, flagFLAG)
	FLAG_ENTRY(PR_CERT_DEFAULTS, MSG_DEFAULTS_SEND_CERT, flagFLAG)

	FLAG_ENTRY(PR_PRIORITY, PRIO_NORMAL, flagVALUE) // NULL value
	FLAG_ENTRY(PR_PRIORITY, PRIO_URGENT, flagVALUE)
	FLAG_ENTRY(PR_PRIORITY, PRIO_NONURGENT, flagVALUE)

	FLAG_ENTRY(PR_ORIGINAL_SENSITIVITY, SENSITIVITY_NONE, flagVALUE) // NULL value
	FLAG_ENTRY(PR_ORIGINAL_SENSITIVITY, SENSITIVITY_PERSONAL, flagVALUE)
	FLAG_ENTRY(PR_ORIGINAL_SENSITIVITY, SENSITIVITY_PRIVATE, flagVALUE)
	FLAG_ENTRY(PR_ORIGINAL_SENSITIVITY, SENSITIVITY_COMPANY_CONFIDENTIAL, flagVALUE)

	FLAG_ENTRY(PR_SECURITY, SECURITY_SIGNED, flagFLAG)
	FLAG_ENTRY(PR_SECURITY, SECURITY_ENCRYPTED, flagFLAG)

	FLAG_ENTRY(PR_SENSITIVITY, SENSITIVITY_NONE, flagVALUE) // NULL value
	FLAG_ENTRY(PR_SENSITIVITY, SENSITIVITY_PERSONAL, flagVALUE)
	FLAG_ENTRY(PR_SENSITIVITY, SENSITIVITY_PRIVATE, flagVALUE)
	FLAG_ENTRY(PR_SENSITIVITY, SENSITIVITY_COMPANY_CONFIDENTIAL, flagVALUE)

	FLAG_ENTRY(PR_SPAM_THRESHOLD, SPAM_FILTERING_NONE, flagVALUE)
	FLAG_ENTRY(PR_SPAM_THRESHOLD, SPAM_FILTERING_LOW, flagVALUE)
	FLAG_ENTRY(PR_SPAM_THRESHOLD, SPAM_FILTERING_MEDIUM, flagVALUE)
	FLAG_ENTRY(PR_SPAM_THRESHOLD, SPAM_FILTERING_HIGH, flagVALUE)

	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_OR_NAME_UNRECOGNIZED, flagVALUE) // NULL value
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_NO_DIAGNOSTIC, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_OR_NAME_AMBIGUOUS, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MTS_CONGESTED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_LOOP_DETECTED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_RECIPIENT_UNAVAILABLE, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAXIMUM_TIME_EXPIRED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_EITS_UNSUPPORTED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_CONTENT_TOO_LONG, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_IMPRACTICAL_TO_CONVERT, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_PROHIBITED_TO_CONVERT, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_CONVERSION_UNSUBSCRIBED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_PARAMETERS_INVALID, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_CONTENT_SYNTAX_IN_ERROR, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_LENGTH_CONSTRAINT_VIOLATD, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_NUMBER_CONSTRAINT_VIOLATD, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_CONTENT_TYPE_UNSUPPORTED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_TOO_MANY_RECIPIENTS, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_NO_BILATERAL_AGREEMENT, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_CRITICAL_FUNC_UNSUPPORTED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_CONVERSION_LOSS_PROHIB, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_LINE_TOO_LONG, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_PAGE_TOO_LONG, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_PICTORIAL_SYMBOL_LOST, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_PUNCTUATION_SYMBOL_LOST, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_ALPHABETIC_CHARACTER_LOST, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MULTIPLE_INFO_LOSSES, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_REASSIGNMENT_PROHIBITED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_REDIRECTION_LOOP_DETECTED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_EXPANSION_PROHIBITED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_SUBMISSION_PROHIBITED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_EXPANSION_FAILED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_RENDITION_UNSUPPORTED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_ADDRESS_INCORRECT, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_OFFICE_INCOR_OR_INVD, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_ADDRESS_INCOMPLETE, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_RECIPIENT_UNKNOWN, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_RECIPIENT_DECEASED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_ORGANIZATION_EXPIRED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_REFUSED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_UNCLAIMED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_RECIPIENT_MOVED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_RECIPIENT_TRAVELLING, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_RECIPIENT_DEPARTED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_NEW_ADDRESS_UNKNOWN, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_FORWARDING_UNWANTED, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_MAIL_FORWARDING_PROHIB, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_SECURE_MESSAGING_ERROR, flagVALUE)
	FLAG_ENTRY(PR_NDR_DIAG_CODE, MAPI_DIAG_DOWNGRADING_IMPOSSIBLE, flagVALUE)

	FLAG_ENTRY(PR_DELIVERY_POINT, MAPI_MH_DP_PUBLIC_UA, flagVALUE) // NULL value
	FLAG_ENTRY(PR_DELIVERY_POINT, MAPI_MH_DP_PRIVATE_UA, flagVALUE)
	FLAG_ENTRY(PR_DELIVERY_POINT, MAPI_MH_DP_MS, flagVALUE)
	FLAG_ENTRY(PR_DELIVERY_POINT, MAPI_MH_DP_ML, flagVALUE)
	FLAG_ENTRY(PR_DELIVERY_POINT, MAPI_MH_DP_PDAU, flagVALUE)
	FLAG_ENTRY(PR_DELIVERY_POINT, MAPI_MH_DP_PDS_PATRON, flagVALUE)
	FLAG_ENTRY(PR_DELIVERY_POINT, MAPI_MH_DP_OTHER_AU, flagVALUE)

	// check and clear flags first, then look at values which remain
	FLAG_ENTRY(PR_RECIPIENT_TYPE, MAPI_P1, flagFLAG)
	FLAG_ENTRY(PR_RECIPIENT_TYPE, MAPI_SUBMITTED, flagFLAG)
	// This entry clears any high level bits so we can look at the low order as a value
	CLEAR_BITS_ENTRY(PR_RECIPIENT_TYPE, 0xffff0000)
	FLAG_ENTRY(PR_RECIPIENT_TYPE, MAPI_ORIG, flagVALUE) // NULL value
	FLAG_ENTRY(PR_RECIPIENT_TYPE, MAPI_TO, flagVALUE)
	FLAG_ENTRY(PR_RECIPIENT_TYPE, MAPI_CC, flagVALUE)
	FLAG_ENTRY(PR_RECIPIENT_TYPE, MAPI_BCC, flagVALUE)

	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_READ, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_UNMODIFIED, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_SUBMIT, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_UNSENT, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_HASATTACH, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_FROMME, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_ASSOCIATED, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_RESEND, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_RN_PENDING, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_NRN_PENDING, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_ORIGIN_X400, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_ORIGIN_INTERNET, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_ORIGIN_MISC_EXT, flagFLAG)
	FLAG_ENTRY(PR_MESSAGE_FLAGS, MSGFLAG_OUTLOOK_NON_EMS_XP, flagFLAG)

	FLAG_ENTRY(PR_SUBMIT_FLAGS, SUBMITFLAG_LOCKED, flagFLAG)
	FLAG_ENTRY(PR_SUBMIT_FLAGS, SUBMITFLAG_PREPROCESS, flagFLAG)

	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_HIGHLIGHTED, flagFLAG)
	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_TAGGED, flagFLAG)
	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_HIDDEN, flagFLAG)
	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_DELMARKED, flagFLAG)
	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_ANSWERED, flagFLAG)
	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_DRAFT, flagFLAG)
	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_IN_CONFLICT, flagFLAG)
	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_REMOTE_DOWNLOAD, flagFLAG)
	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_REMOTE_DELETE, flagFLAG)
	FLAG_ENTRY(PR_MSG_STATUS, MSGSTATUS_MDNSENT, flagFLAG)

	FLAG_ENTRY(PR_TODO_ITEM_FLAGS, TDIP_None, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_TODO_ITEM_FLAGS, TDIP_Active, flagFLAG)
	FLAG_ENTRY(PR_TODO_ITEM_FLAGS, TDIP_ActiveRecip, flagFLAG)

	FLAG_ENTRY(PR_TRUST_SENDER, PR_TRUST_SENDER_NO, flagVALUE) // NULL value
	FLAG_ENTRY(PR_TRUST_SENDER, PR_TRUST_SENDER_YES, flagVALUE)

	FLAG_ENTRY(PR_ANTIVIRUS_SCAN_STATUS, ANTIVIRUS_SCAN_NO_VIRUS, flagVALUE) // NULL value
	FLAG_ENTRY(PR_ANTIVIRUS_SCAN_STATUS, ANTIVIRUS_SCAN_VIRUS_PRESENT, flagFLAG)
	FLAG_ENTRY(PR_ANTIVIRUS_SCAN_STATUS, ANTIVIRUS_SCAN_VIRUS_CLEANED, flagFLAG)
	FLAG_ENTRY(PR_ANTIVIRUS_SCAN_STATUS, ANTIVIRUS_SCAN_VIRUS_DELETED, flagFLAG)

	FLAG_ENTRY(PR_ACCESS, MAPI_ACCESS_MODIFY, flagFLAG)
	FLAG_ENTRY(PR_ACCESS, MAPI_ACCESS_READ, flagFLAG)
	FLAG_ENTRY(PR_ACCESS, MAPI_ACCESS_DELETE, flagFLAG)
	FLAG_ENTRY(PR_ACCESS, MAPI_ACCESS_CREATE_HIERARCHY, flagFLAG)
	FLAG_ENTRY(PR_ACCESS, MAPI_ACCESS_CREATE_CONTENTS, flagFLAG)
	FLAG_ENTRY(PR_ACCESS, MAPI_ACCESS_CREATE_ASSOCIATED, flagFLAG)

	FLAG_ENTRY(PR_ROW_TYPE, TBL_LEAF_ROW, flagVALUE)
	FLAG_ENTRY(PR_ROW_TYPE, TBL_EMPTY_CATEGORY, flagVALUE)
	FLAG_ENTRY(PR_ROW_TYPE, TBL_EXPANDED_CATEGORY, flagVALUE)
	FLAG_ENTRY(PR_ROW_TYPE, TBL_COLLAPSED_CATEGORY, flagVALUE)

	FLAG_ENTRY(PR_ACCESS_LEVEL, MAPI_MODIFY, flagFLAG)

	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_STORE, flagVALUE) // NULL value
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_ADDRBOOK, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_FOLDER, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_ABCONT, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_MESSAGE, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_MAILUSER, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_ATTACH, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_DISTLIST, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_PROFSECT, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_STATUS, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_SESSION, flagVALUE)
	FLAG_ENTRY(PR_OBJECT_TYPE, MAPI_FORMINFO, flagVALUE)

	FLAG_ENTRY(PR_NATIVE_BODY_INFO, nbiUndefined, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_NATIVE_BODY_INFO, nbiPlainText, flagVALUE)
	FLAG_ENTRY(PR_NATIVE_BODY_INFO, nbiRtfCompressed, flagVALUE)
	FLAG_ENTRY(PR_NATIVE_BODY_INFO, nbiHtml, flagVALUE)
	FLAG_ENTRY(PR_NATIVE_BODY_INFO, nbiClearSigned, flagVALUE)

	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000001, L"Post", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000003, L"Other", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000100, L"Read mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000101, L"Unread mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000102, L"Submitted mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000103, L"Unsent mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000104, L"Receipt mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000105, L"Replied mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000106, L"Forwarded mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000107, L"Remote mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000108, L"Delivery Receipt", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000109, L"Read Receipt", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000010A, L"Nondelivery Receipt", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000010B, L"Nonread Receipt", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000010C, L"Recall_S mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000010D, L"Recall_F mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000010E, L"Tracking mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000011B, L"Out of Office mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000011C, L"Recall mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000130, L"Tracked mail", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000200, L"Contact", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000202, L"Distribution List", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000300, L"Sticky Note, Blue", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000301, L"Sticky Note, Green", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000302, L"Sticky Note, Pink", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000303, L"Sticky Note, Yellow", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000304, L"Sticky Note, White", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000400, L"Single Instance Appointment", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000401, L"Recurring Appointment", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000402, L"Single Instance Meeting", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000403, L"Recurring Meeting", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000404, L"Meeting Request / Full Update", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000405, L"Accept", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000406, L"Decline", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000407, L"Tentatively Accept", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000408, L"Cancelation", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000409, L"Informational Update", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000500, L"Task/Task Update", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000501, L"Unassigned Recurring Task", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000502, L"Assignee's Task", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000503, L"Assigner's Task", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000504, L"Task Request", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000505, L"Task Acceptance", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000506, L"Task Rejection", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000601, L"Journal Conversation", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000602, L"Journal E-mail Message", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000603, L"Journal Meeting request", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000604, L"Journal Meeting response", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000606, L"Journal Task request", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000607, L"Journal Task response", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000608, L"Journal Note", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000609, L"Journal Fax", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000060A, L"Journal Phone call", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000060B, L"Journal Task", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000060C, L"Journal Letter", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000060D, L"Journal Microsoft Office Word", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000060E, L"Journal Microsoft Office Excel", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x0000060F, L"Journal Microsoft Office PowerPoint", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000610, L"Journal Microsoft Office Access", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000612, L"Journal Document", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000613, L"Journal Meeting", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000614, L"Journal Meeting cancellation", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0x00000615, L"Journal Remote session", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_ICON_INDEX, 0xFFFFFFFF, L"New mail", flagVALUE) // STRING_OK

	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_OPEN, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_REPLYTOSENDER, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_REPLYTOALL, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FORWARD, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_PRINT, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_SAVEAS, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_REPLYTOFOLDER, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_SAVE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_PROPERTIES, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FOLLOWUP, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_ACCEPT, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_TENTATIVE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_REJECT, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_DECLINE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_INVITE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_UPDATE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_CANCEL, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_SILENTINVITE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_SILENTCANCEL, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_RECALL_MESSAGE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FORWARD_RESPONSE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FORWARD_CANCEL, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FOLLOWUPCLEAR, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FORWARD_APPT, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_OPENRESEND, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_STATUSREPORT, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_JOURNALOPEN, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_JOURNALOPENLINK, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_COMPOSEREPLACE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_EDIT, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_DELETEPROCESS, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_TENTPNTIME, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_EDITTEMPLATE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FINDINCALENDAR, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FORWARDASFILE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_CHANGE_ATTENDEES, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_RECALC_TITLE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_PROP_CHANGE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FORWARD_AS_VCAL, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FORWARD_AS_ICAL, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FORWARD_AS_BCARD, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_DECLPNTIME, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_PROCESS, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_OPENWITHWORD, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_OPEN_INSTANCE_OF_SERIES, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FILLOUT_THIS_FORM, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FOLLOWUP_DEFAULT, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_REPLY_WITH_MAIL, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_TODO_TODAY, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_TODO_TOMORROW, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_TODO_THISWEEK, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_TODO_NEXTWEEK, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_TODO_THISMONTH, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_TODO_NEXTMONTH, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_TODO_NODATE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_FOLLOWUPCOMPLETE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_COPYTOPOSTFOLDER, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_PARTIALRECIP_SILENTINVITE, flagVALUE)
	FLAG_ENTRY(PR_LAST_VERB_EXECUTED, NOTEIVERB_PARTIALRECIP_SILENTCANCEL, flagVALUE)

	FLAG_ENTRY(PR_FLAG_STATUS, flwupNone, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_FLAG_STATUS, flwupComplete, flagVALUE)
	FLAG_ENTRY(PR_FLAG_STATUS, flwupMarked, flagVALUE)

	FLAG_ENTRY(PR_FOLLOWUP_ICON, olNoFlagIcon, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_FOLLOWUP_ICON, olPurpleFlagIcon, flagVALUE)
	FLAG_ENTRY(PR_FOLLOWUP_ICON, olOrangeFlagIcon, flagVALUE)
	FLAG_ENTRY(PR_FOLLOWUP_ICON, olGreenFlagIcon, flagVALUE)
	FLAG_ENTRY(PR_FOLLOWUP_ICON, olYellowFlagIcon, flagVALUE)
	FLAG_ENTRY(PR_FOLLOWUP_ICON, olBlueFlagIcon, flagVALUE)
	FLAG_ENTRY(PR_FOLLOWUP_ICON, olRedFlagIcon, flagVALUE)

	FLAG_ENTRY(PR_RESOURCE_FLAGS, SERVICE_DEFAULT_STORE, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, SERVICE_SINGLE_COPY, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, SERVICE_CREATE_WITH_STORE, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, SERVICE_PRIMARY_IDENTITY, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, SERVICE_NO_PRIMARY_IDENTITY, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_DEFAULT_OUTBOUND, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_DEFAULT_STORE, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_PRIMARY_IDENTITY, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_SIMPLE_STORE, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_XP_PREFER_LAST, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_NO_PRIMARY_IDENTITY, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_NO_DEFAULT_STORE, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_TEMP_SECTION, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_OWN_STORE, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, HOOK_INBOUND, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, HOOK_OUTBOUND, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_NEED_IPM_TREE, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_PRIMARY_STORE, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_FLAGS, STATUS_SECONDARY_STORE, flagFLAG)

	FLAG_ENTRY(PR_RETENTION_FLAGS, RETENTION_FLAGS_EXPLICIT, flagFLAG)
	FLAG_ENTRY(PR_RETENTION_FLAGS, RETENTION_FLAGS_TAG_CHANGED, flagFLAG)
	FLAG_ENTRY(PR_RETENTION_FLAGS, RETENTION_FLAGS_AUTOTAG, flagFLAG)
	FLAG_ENTRY(PR_RETENTION_FLAGS, RETENTION_FLAGS_PERSONAL, flagFLAG)
	FLAG_ENTRY(PR_RETENTION_FLAGS, RETENTION_FLAGS_EXPLICIT_ARCHIVE, flagFLAG)
	FLAG_ENTRY(PR_RETENTION_FLAGS, RETENTION_FLAGS_KEEP_IN_PLACE, flagFLAG)
	FLAG_ENTRY(PR_RETENTION_FLAGS, RETENTION_FLAGS_SYSTEM_DATA, flagFLAG)
	FLAG_ENTRY(PR_RETENTION_FLAGS, RETENTION_FLAGS_NEEDS_RESCAN, flagFLAG)
	FLAG_ENTRY(PR_RETENTION_FLAGS, RETENTION_FLAGS_PENDING_RESCAN, flagFLAG)

	FLAG_ENTRYHIGHBYTES(PR_FORM_HOST_MAP, MAPIFORM_CPU_X86, CPU)
	FLAG_ENTRYHIGHBYTES(PR_FORM_HOST_MAP, MAPIFORM_CPU_MIP, CPU)
	FLAG_ENTRYHIGHBYTES(PR_FORM_HOST_MAP, MAPIFORM_CPU_AXP, CPU)
	FLAG_ENTRYHIGHBYTES(PR_FORM_HOST_MAP, MAPIFORM_CPU_PPC, CPU)
	FLAG_ENTRYHIGHBYTES(PR_FORM_HOST_MAP, MAPIFORM_CPU_M68, CPU)
	FLAG_ENTRYHIGHBYTES(PR_FORM_HOST_MAP, MAPIFORM_CPU_X64, CPU)
	CLEAR_BITS_ENTRY(PR_FORM_HOST_MAP, 0xffff0000)
	FLAG_ENTRY(PR_FORM_HOST_MAP, MAPIFORM_OS_WIN_31, flagVALUE)
	FLAG_ENTRY(PR_FORM_HOST_MAP, MAPIFORM_OS_WINNT_35, flagVALUE)
	FLAG_ENTRY(PR_FORM_HOST_MAP, MAPIFORM_OS_WIN_95, flagVALUE)
	FLAG_ENTRY(PR_FORM_HOST_MAP, MAPIFORM_OS_MAC_7x, flagVALUE)
	FLAG_ENTRY(PR_FORM_HOST_MAP, MAPIFORM_OS_WINNT_40, flagVALUE)
	FLAG_ENTRY(PR_FORM_HOST_MAP, MAPIFORM_OS_WINNT_50, flagVALUE)
	FLAG_ENTRY(PR_FORM_HOST_MAP, MAPIFORM_OS_WINNT_60, flagVALUE)

	FLAG_ENTRY(PR_FORM_MESSAGE_BEHAVIOR, MAPI_MESSAGE_BEHAVIOR_IPM, flagVALUE) // NULL value
	FLAG_ENTRY(PR_FORM_MESSAGE_BEHAVIOR, MAPI_MESSAGE_BEHAVIOR_FOLDER, flagVALUE)

	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_ENTRYID_UNIQUE, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_READONLY, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_SEARCH_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_MODIFY_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_CREATE_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_ATTACH_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_OLE_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_SUBMIT_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_NOTIFY_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_MV_PROPS_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_CATEGORIZE_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_RTF_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_RESTRICTION_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_SORT_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_PUBLIC_FOLDERS, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_UNCOMPRESSED_RTF, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_HTML_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_ANSI_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_UNICODE_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_LOCALSTORE, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_ITEMPROC, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_PUSHER_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_FULLTEXT_QUERY_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_FILTER_SEARCH_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_SUPPORT_MASK, STORE_RULES_OK, flagFLAG)

	FLAG_ENTRY(PR_STORE_STATE, STORE_HAS_SEARCHES, flagFLAG)

	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_ENTRYID_UNIQUE, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_READONLY, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_SEARCH_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_MODIFY_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_CREATE_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_ATTACH_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_OLE_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_SUBMIT_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_NOTIFY_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_MV_PROPS_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_CATEGORIZE_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_RTF_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_RESTRICTION_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_SORT_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_PUBLIC_FOLDERS, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_UNCOMPRESSED_RTF, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_HTML_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_ANSI_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_UNICODE_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_LOCALSTORE, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_ITEMPROC, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_PUSHER_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_FULLTEXT_QUERY_OK, flagFLAG)
	FLAG_ENTRY(PR_STORE_UNICODE_MASK, STORE_FILTER_SEARCH_OK, flagFLAG)

	FLAG_ENTRY(PR_VALID_FOLDER_MASK, FOLDER_IPM_SUBTREE_VALID, flagFLAG)
	FLAG_ENTRY(PR_VALID_FOLDER_MASK, FOLDER_IPM_INBOX_VALID, flagFLAG)
	FLAG_ENTRY(PR_VALID_FOLDER_MASK, FOLDER_IPM_OUTBOX_VALID, flagFLAG)
	FLAG_ENTRY(PR_VALID_FOLDER_MASK, FOLDER_IPM_WASTEBASKET_VALID, flagFLAG)
	FLAG_ENTRY(PR_VALID_FOLDER_MASK, FOLDER_IPM_SENTMAIL_VALID, flagFLAG)
	FLAG_ENTRY(PR_VALID_FOLDER_MASK, FOLDER_VIEWS_VALID, flagFLAG)
	FLAG_ENTRY(PR_VALID_FOLDER_MASK, FOLDER_COMMON_VIEWS_VALID, flagFLAG)
	FLAG_ENTRY(PR_VALID_FOLDER_MASK, FOLDER_FINDER_VALID, flagFLAG)

	FLAG_ENTRY(PR_CONTAINER_FLAGS, AB_RECIPIENTS, flagFLAG)
	FLAG_ENTRY(PR_CONTAINER_FLAGS, AB_SUBCONTAINERS, flagFLAG)
	FLAG_ENTRY(PR_CONTAINER_FLAGS, AB_MODIFIABLE, flagFLAG)
	FLAG_ENTRY(PR_CONTAINER_FLAGS, AB_UNMODIFIABLE, flagFLAG)
	FLAG_ENTRY(PR_CONTAINER_FLAGS, AB_FIND_ON_OPEN, flagFLAG)
	FLAG_ENTRY(PR_CONTAINER_FLAGS, AB_NOT_DEFAULT, flagFLAG)

	FLAG_ENTRY(PR_FOLDER_TYPE, FOLDER_ROOT, flagVALUE) // NULL value
	FLAG_ENTRY(PR_FOLDER_TYPE, FOLDER_GENERIC, flagVALUE)
	FLAG_ENTRY(PR_FOLDER_TYPE, FOLDER_SEARCH, flagVALUE)

	FLAG_ENTRY(PR_STATUS, FLDSTATUS_HIGHLIGHTED, flagFLAG)
	FLAG_ENTRY(PR_STATUS, FLDSTATUS_TAGGED, flagFLAG)
	FLAG_ENTRY(PR_STATUS, FLDSTATUS_HIDDEN, flagFLAG)
	FLAG_ENTRY(PR_STATUS, FLDSTATUS_DELMARKED, flagFLAG)

	FLAG_ENTRY(PR_AGING_GRANULARITY, AG_MONTHS, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_AGING_GRANULARITY, AG_WEEKS, flagVALUE)
	FLAG_ENTRY(PR_AGING_GRANULARITY, AG_DAYS, flagVALUE)

	FLAG_ENTRY(PR_ATTACH_METHOD, NO_ATTACHMENT, flagVALUE) // NULL value
	FLAG_ENTRY(PR_ATTACH_METHOD, ATTACH_BY_VALUE, flagVALUE)
	FLAG_ENTRY(PR_ATTACH_METHOD, ATTACH_BY_REFERENCE, flagVALUE)
	FLAG_ENTRY(PR_ATTACH_METHOD, ATTACH_BY_REF_RESOLVE, flagVALUE)
	FLAG_ENTRY(PR_ATTACH_METHOD, ATTACH_BY_REF_ONLY, flagVALUE)
	FLAG_ENTRY(PR_ATTACH_METHOD, ATTACH_EMBEDDED_MSG, flagVALUE)
	FLAG_ENTRY(PR_ATTACH_METHOD, ATTACH_OLE, flagVALUE)
	FLAG_ENTRY(PR_ATTACH_METHOD, ATTACH_BY_WEB_REF, flagVALUE)

	FLAG_ENTRY(PR_ATTACH_FLAGS, ATT_INVISIBLE_IN_HTML, flagFLAG)
	FLAG_ENTRY(PR_ATTACH_FLAGS, ATT_INVISIBLE_IN_RTF, flagFLAG)
	FLAG_ENTRY(PR_ATTACH_FLAGS, ATT_MHTML_REF, flagFLAG)

	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_MAILUSER, flagVALUE) // NULL value
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_DISTLIST, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_FORUM, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_AGENT, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_ORGANIZATION, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_PRIVATE_DISTLIST, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_REMOTE_MAILUSER, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_ROOM, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_EQUIPMENT, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_SEC_DISTLIST, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_CONTAINER, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_TEMPLATE, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_ADDRESS_TEMPLATE, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_SEARCH, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_MODIFIABLE, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_GLOBAL, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_LOCAL, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_WAN, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_NOT_SPECIFIC, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_FOLDER, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_FOLDER_LINK, flagVALUE)
	FLAG_ENTRY(PR_DISPLAY_TYPE, DT_FOLDER_SPECIAL, flagVALUE)

	// check and clear flags first, then look at values which remain
	FLAG_ENTRY(PR_DISPLAY_TYPE_EX, DTE_FLAG_REMOTE_VALID, flagFLAG)
	FLAG_ENTRY(PR_DISPLAY_TYPE_EX, DTE_FLAG_ACL_CAPABLE, flagFLAG)
	// This entry clears any high level bits so we can look at the low order as a value
	CLEAR_BITS_ENTRY(PR_DISPLAY_TYPE_EX, 0xffff0000)
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_MAILUSER, Remote) // NULL value
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_DISTLIST, Remote)
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_FORUM, Remote)
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_AGENT, Remote)
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_ORGANIZATION, Remote)
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_PRIVATE_DISTLIST, Remote)
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_REMOTE_MAILUSER, Remote)
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_ROOM, Remote)
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_EQUIPMENT, Remote)
	FLAG_ENTRY3RDBYTE(PR_DISPLAY_TYPE_EX, DT_SEC_DISTLIST, Remote)
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_MAILUSER, Local) // NULL value
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_DISTLIST, Local)
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_FORUM, Local)
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_AGENT, Local)
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_ORGANIZATION, Local)
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_PRIVATE_DISTLIST, Local)
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_REMOTE_MAILUSER, Local)
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_ROOM, Local)
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_EQUIPMENT, Local)
	FLAG_ENTRY4THBYTE(PR_DISPLAY_TYPE_EX, DT_SEC_DISTLIST, Local)

	FLAG_ENTRY(PR_GENDER, genderUnspecified, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_GENDER, genderFemale, flagVALUE)
	FLAG_ENTRY(PR_GENDER, genderMale, flagVALUE)

	FLAG_ENTRY(PR_SEND_INTERNET_ENCODING, BODY_ENCODING_HTML, flagFLAG)
	FLAG_ENTRY(PR_SEND_INTERNET_ENCODING, BODY_ENCODING_TEXT_AND_HTML, flagFLAG)
	FLAG_ENTRY(PR_SEND_INTERNET_ENCODING, ENCODING_MIME, flagFLAG)
	FLAG_ENTRY(PR_SEND_INTERNET_ENCODING, ENCODING_PREFERENCE, flagFLAG)
	FLAG_ENTRY(PR_SEND_INTERNET_ENCODING, MAC_ATTACH_ENCODING_APPLEDOUBLE, flagFLAG) // Must appear before MAC_ATTACH_ENCODING_APPLESINGLE and MAC_ATTACH_ENCODING_UUENCODE
	FLAG_ENTRY(PR_SEND_INTERNET_ENCODING, MAC_ATTACH_ENCODING_APPLESINGLE, flagFLAG)
	FLAG_ENTRY(PR_SEND_INTERNET_ENCODING, MAC_ATTACH_ENCODING_UUENCODE, flagFLAG)

	FLAG_ENTRY(PR_AB_CHOOSE_DIRECTORY_AUTOMATICALLY, SEARCHPATHREORDERTYPE_RAW, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_AB_CHOOSE_DIRECTORY_AUTOMATICALLY, SEARCHPATHREORDERTYPE_ACCT_PREFERGAL, flagVALUE)
	FLAG_ENTRY(PR_AB_CHOOSE_DIRECTORY_AUTOMATICALLY, SEARCHPATHREORDERTYPE_ACCT_PREFERCONTACTS, flagVALUE)

	FLAG_ENTRY(PR_RESOURCE_METHODS, STATUS_VALIDATE_STATE, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_METHODS, STATUS_SETTINGS_DIALOG, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_METHODS, STATUS_CHANGE_PASSWORD, flagFLAG)
	FLAG_ENTRY(PR_RESOURCE_METHODS, STATUS_FLUSH_QUEUES, flagFLAG)

	FLAG_ENTRY(PR_RESOURCE_TYPE, MAPI_STORE_PROVIDER, flagVALUE)
	FLAG_ENTRY(PR_RESOURCE_TYPE, MAPI_AB, flagVALUE)
	FLAG_ENTRY(PR_RESOURCE_TYPE, MAPI_AB_PROVIDER, flagVALUE)
	FLAG_ENTRY(PR_RESOURCE_TYPE, MAPI_TRANSPORT_PROVIDER, flagVALUE)
	FLAG_ENTRY(PR_RESOURCE_TYPE, MAPI_SPOOLER, flagVALUE)
	FLAG_ENTRY(PR_RESOURCE_TYPE, MAPI_PROFILE_PROVIDER, flagVALUE)
	FLAG_ENTRY(PR_RESOURCE_TYPE, MAPI_SUBSYSTEM, flagVALUE)
	FLAG_ENTRY(PR_RESOURCE_TYPE, MAPI_HOOK_PROVIDER, flagVALUE)

	FLAG_ENTRY(PR_STATUS_CODE, STATUS_AVAILABLE, flagFLAG)
	FLAG_ENTRY(PR_STATUS_CODE, STATUS_FAILURE, flagFLAG)
	FLAG_ENTRY(PR_STATUS_CODE, STATUS_OFFLINE, flagFLAG)
	FLAG_ENTRY(PR_STATUS_CODE, STATUS_INBOUND_ACTIVE, flagFLAG)
	FLAG_ENTRY(PR_STATUS_CODE, STATUS_INBOUND_ENABLED, flagFLAG)
	FLAG_ENTRY(PR_STATUS_CODE, STATUS_INBOUND_FLUSH, flagFLAG)
	FLAG_ENTRY(PR_STATUS_CODE, STATUS_OUTBOUND_ACTIVE, flagFLAG)
	FLAG_ENTRY(PR_STATUS_CODE, STATUS_OUTBOUND_ENABLED, flagFLAG)
	FLAG_ENTRY(PR_STATUS_CODE, STATUS_OUTBOUND_FLUSH, flagFLAG)
	FLAG_ENTRY(PR_STATUS_CODE, STATUS_REMOTE_ACCESS, flagFLAG)

	FLAG_ENTRY(PR_REMOTE_PROGRESS, MSGSTATUS_REMOTE_DOWNLOAD, flagFLAG)
	FLAG_ENTRY(PR_REMOTE_PROGRESS, MSGSTATUS_REMOTE_DELETE, flagFLAG)

	FLAG_ENTRY(PR_CONTROL_FLAGS, DT_MULTILINE, flagFLAG)
	FLAG_ENTRY(PR_CONTROL_FLAGS, DT_EDITABLE, flagFLAG)
	FLAG_ENTRY(PR_CONTROL_FLAGS, DT_REQUIRED, flagFLAG)
	FLAG_ENTRY(PR_CONTROL_FLAGS, DT_SET_IMMEDIATE, flagFLAG)
	FLAG_ENTRY(PR_CONTROL_FLAGS, DT_PASSWORD_EDIT, flagFLAG)
	FLAG_ENTRY(PR_CONTROL_FLAGS, DT_ACCEPT_DBCS, flagFLAG)
	FLAG_ENTRY(PR_CONTROL_FLAGS, DT_SET_SELECTION, flagFLAG)

	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_LABEL, flagVALUE) // NULL value
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_EDIT, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_LBX, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_COMBOBOX, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_DDLBX, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_CHECKBOX, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_GROUPBOX, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_BUTTON, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_PAGE, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_RADIOBUTTON, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_MVLISTBOX, flagVALUE)
	FLAG_ENTRY(PR_CONTROL_TYPE, DTCT_MVDDLBX, flagVALUE)

	FLAG_ENTRY(PR_DL_REPORT_FLAGS, PRIV_DL_HIDE_MEMBERS, flagFLAG)
	FLAG_ENTRY(PR_DL_REPORT_FLAGS, PRIV_DL_REPORT_TO_ORIG, flagFLAG)
	FLAG_ENTRY(PR_DL_REPORT_FLAGS, PRIV_DL_REPORT_TO_OWNER, flagFLAG)
	FLAG_ENTRY(PR_DL_REPORT_FLAGS, PRIV_DL_ALLOW_OOF, flagFLAG)

	FLAG_ENTRY(PR_AUTO_RESPONSE_SUPPRESS, AUTO_RESPONSE_SUPPRESS_DR, flagFLAG)
	FLAG_ENTRY(PR_AUTO_RESPONSE_SUPPRESS, AUTO_RESPONSE_SUPPRESS_RN, flagFLAG)
	FLAG_ENTRY(PR_AUTO_RESPONSE_SUPPRESS, AUTO_RESPONSE_SUPPRESS_NRN, flagFLAG)
	FLAG_ENTRY(PR_AUTO_RESPONSE_SUPPRESS, AUTO_RESPONSE_SUPPRESS_OOF, flagFLAG)
	FLAG_ENTRY(PR_AUTO_RESPONSE_SUPPRESS, AUTO_RESPONSE_SUPPRESS_AUTO_REPLY, flagFLAG)
	FLAG_ENTRY(PR_AUTO_RESPONSE_SUPPRESS, AUTO_RESPONSE_SUPPRESS_NORFC821FROM, flagFLAG)

	FLAG_ENTRY(PR_RESOLVE_METHOD, RESOLVE_METHOD_DEFAULT, flagVALUE) // NULL value
	FLAG_ENTRY(PR_RESOLVE_METHOD, RESOLVE_METHOD_LAST_WRITER_WINS, flagFLAG)
	FLAG_ENTRY(PR_RESOLVE_METHOD, RESOLVE_METHOD_NO_CONFLICT_NOTIFICATION, flagFLAG)

	FLAG_ENTRY(ptagSenderFlags, MAPI_SEND_NO_RICH_INFO, flagFLAG)

	FLAG_ENTRY(ptagSentRepresentingFlags, MAPI_SEND_NO_RICH_INFO, flagFLAG)

	FLAG_ENTRY(PR_SENDER_ID_STATUS, SENDER_ID_NEUTRAL, flagVALUE)
	FLAG_ENTRY(PR_SENDER_ID_STATUS, SENDER_ID_PASS, flagVALUE)
	FLAG_ENTRY(PR_SENDER_ID_STATUS, SENDER_ID_FAIL, flagVALUE)
	FLAG_ENTRY(PR_SENDER_ID_STATUS, SENDER_ID_SOFT_FAIL, flagVALUE)
	FLAG_ENTRY(PR_SENDER_ID_STATUS, SENDER_ID_NONE, flagVALUE)
	FLAG_ENTRY(PR_SENDER_ID_STATUS, SENDER_ID_TEMP_ERROR, flagVALUE)
	FLAG_ENTRY(PR_SENDER_ID_STATUS, SENDER_ID_PERM_ERROR, flagVALUE)

	FLAG_ENTRY(PR_INETMAIL_OVERRIDE_FORMAT, ENCODING_PREFERENCE, flagFLAG)
	FLAG_ENTRY(PR_INETMAIL_OVERRIDE_FORMAT, ENCODING_MIME, flagFLAG)
	FLAG_ENTRY(PR_INETMAIL_OVERRIDE_FORMAT, BODY_ENCODING_HTML, flagFLAG)
	FLAG_ENTRY(PR_INETMAIL_OVERRIDE_FORMAT, BODY_ENCODING_TEXT_AND_HTML, flagFLAG)
	FLAG_ENTRY(PR_INETMAIL_OVERRIDE_FORMAT, INTERNET_FORMAT_DEFAULT, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_INETMAIL_OVERRIDE_FORMAT, INTERNET_FORMAT_MIME, flagVALUE)
	FLAG_ENTRY(PR_INETMAIL_OVERRIDE_FORMAT, INTERNET_FORMAT_UUENCODE, flagVALUE)
	FLAG_ENTRY(PR_INETMAIL_OVERRIDE_FORMAT, INTERNET_FORMAT_BINHEX, flagVALUE)

	FLAG_ENTRY(PR_MSG_EDITOR_FORMAT, EDITOR_FORMAT_DONTKNOW, flagVALUE) // NULL value
	FLAG_ENTRY(PR_MSG_EDITOR_FORMAT, EDITOR_FORMAT_PLAINTEXT, flagVALUE)
	FLAG_ENTRY(PR_MSG_EDITOR_FORMAT, EDITOR_FORMAT_HTML, flagVALUE)
	FLAG_ENTRY(PR_MSG_EDITOR_FORMAT, EDITOR_FORMAT_RTF, flagVALUE)

	FLAG_ENTRY(PR_RECIPIENT_FLAGS, RECIP_UNSENDABLE, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_RECIPIENT_FLAGS, RECIP_SENDABLE, flagFLAG)
	FLAG_ENTRY(PR_RECIPIENT_FLAGS, RECIP_ORGANIZER, flagFLAG)
	FLAG_ENTRY(PR_RECIPIENT_FLAGS, RECIP_EXCEPTIONAL_RESPONSE, flagFLAG)
	FLAG_ENTRY(PR_RECIPIENT_FLAGS, RECIP_EXCEPTIONAL_DELETED, flagFLAG)
	FLAG_ENTRY(PR_RECIPIENT_FLAGS, RECIP_ORIGINAL, flagFLAG)

	FLAG_ENTRY(PR_RECIPIENT_TRACKSTATUS, respNone, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_RECIPIENT_TRACKSTATUS, respOrganized, flagVALUE)
	FLAG_ENTRY(PR_RECIPIENT_TRACKSTATUS, respTentative, flagVALUE)
	FLAG_ENTRY(PR_RECIPIENT_TRACKSTATUS, respAccepted, flagVALUE)
	FLAG_ENTRY(PR_RECIPIENT_TRACKSTATUS, respDeclined, flagVALUE)
	FLAG_ENTRY(PR_RECIPIENT_TRACKSTATUS, respNotResponded, flagVALUE)

	FLAG_ENTRY(PR_JUNK_THRESHOLD, SPAM_FILTERING_NONE, flagVALUE)
	FLAG_ENTRY(PR_JUNK_THRESHOLD, SPAM_FILTERING_LOW, flagVALUE)
	FLAG_ENTRY(PR_JUNK_THRESHOLD, SPAM_FILTERING_MEDIUM, flagVALUE)
	FLAG_ENTRY(PR_JUNK_THRESHOLD, SPAM_FILTERING_HIGH, flagVALUE)
	FLAG_ENTRY(PR_JUNK_THRESHOLD, SPAM_FILTERING_TRUSTED_ONLY, flagVALUE)

	FLAG_ENTRY(PR_RULE_MSG_STATE, ST_DISABLED, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_RULE_MSG_STATE, ST_ENABLED, flagFLAG)
	FLAG_ENTRY(PR_RULE_MSG_STATE, ST_ERROR, flagFLAG)
	FLAG_ENTRY(PR_RULE_MSG_STATE, ST_ONLY_WHEN_OOF, flagFLAG)
	FLAG_ENTRY(PR_RULE_MSG_STATE, ST_KEEP_OOF_HIST, flagFLAG)
	FLAG_ENTRY(PR_RULE_MSG_STATE, ST_EXIT_LEVEL, flagFLAG)
	FLAG_ENTRY(PR_RULE_MSG_STATE, ST_SKIP_IF_SCL_IS_SAFE, flagFLAG)
	FLAG_ENTRY(PR_RULE_MSG_STATE, ST_RULE_PARSE_ERROR, flagFLAG)
	FLAG_ENTRY(PR_RULE_MSG_STATE, ST_CLEAR_OOF_HIST, flagFLAG)

	FLAG_ENTRY(PR_PROFILE_CONFIG_FLAGS, CONFIG_SERVICE, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONFIG_FLAGS, CONFIG_SHOW_STARTUP_UI, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONFIG_FLAGS, CONFIG_SHOW_CONNECT_UI, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONFIG_FLAGS, CONFIG_PROMPT_FOR_CREDENTIALS, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONFIG_FLAGS, CONFIG_NO_AUTO_DETECT, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONFIG_FLAGS, CONFIG_OST_CACHE_ONLY, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONFIG_FLAGS, CONFIG_USE_SMTP_ADDRESSES, flagFLAG)
	// Due to a fluke in how CONFIG_OST_CACHE_PRIVATE was defined, we have to check both values by hand
	FLAG_ENTRY_NAMED(PR_PROFILE_CONFIG_FLAGS, 0x080, L"CONFIG_OST_CACHE_PRIVATE (0x80)", flagFLAG) // STRING_OK
	FLAG_ENTRY_NAMED(PR_PROFILE_CONFIG_FLAGS, 0x100, L"CONFIG_OST_CACHE_PRIVATE (0x100)", flagFLAG) // STRING_OK
	FLAG_ENTRY(PR_PROFILE_CONFIG_FLAGS, CONFIG_OST_CACHE_PUBLIC, flagFLAG)

	FLAG_ENTRY(PR_PROFILE_CONNECT_FLAGS, CONNECT_USE_ADMIN_PRIVILEGE, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONNECT_FLAGS, CONNECT_NO_RPC_ENCRYPTION, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONNECT_FLAGS, CONNECT_USE_SEPARATE_CONNECTION, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONNECT_FLAGS, CONNECT_NO_UNDER_COVER_CONNECTION, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONNECT_FLAGS, CONNECT_ANONYMOUS_ACCESS, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONNECT_FLAGS, CONNECT_NO_NOTIFICATIONS, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONNECT_FLAGS, CONNECT_NO_ADDRESS_RESOLUTION, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONNECT_FLAGS, CONNECT_RESTORE_DATABASE, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_CONNECT_FLAGS, CONNECT_IGNORE_NO_PF, flagFLAG)

	FLAG_ENTRY(PR_PROFILE_TRANSPORT_FLAGS, TRANSPORT_DOWNLOAD, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_TRANSPORT_FLAGS, TRANSPORT_UPLOAD, flagFLAG)

	FLAG_ENTRY(PR_PROFILE_UI_STATE, EDK_PROFILEUISTATE_ENCRYPTNETWORK, flagFLAG)

	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_USE_ADMIN_PRIVILEGE, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_PUBLIC, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_HOME_LOGON, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_TAKE_OWNERSHIP, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_OVERRIDE_HOME_MDB, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_TRANSPORT, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_REMOTE_TRANSPORT, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_INTERNET_ANONYMOUS, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_ALTERNATE_SERVER, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_IGNORE_HOME_MDB, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_NO_MAIL, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_OVERRIDE_LAST_MODIFIER, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_CALLBACK_LOGON, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_LOCAL, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_FAIL_IF_NO_MAILBOX, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_CACHE_EXCHANGE, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_CLI_WITH_NAMEDPROP_FIX, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_ENABLE_LAZY_LOGGING, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_CLI_WITH_REPLID_GUID_MAPPING_FIX, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_NO_LOCALIZATION, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_RESTORE_DATABASE, flagFLAG)
	FLAG_ENTRY(PR_PROFILE_OPEN_FLAGS, OPENSTORE_XFOREST_MOVE, flagFLAG)

	FLAG_ENTRY(PR_PROFILE_TYPE, PROFILE_PRIMARY_USER, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_TYPE, PROFILE_DELEGATE, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_TYPE, PROFILE_PUBLIC_STORE, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_TYPE, PROFILE_SUBSCRIPTION, flagVALUE)

	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_NONE, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_DCE_PRIVATE, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_DCE_PUBLIC, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_DEC_PUBLIC, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_GSS_NEGOTIATE, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_WINNT, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_GSS_SCHANNEL, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_GSS_KERBEROS, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_DPA, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_MSN, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_DIGEST, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_MQ, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, RPC_C_AUTHN_DEFAULT, flagVALUE)
	FLAG_ENTRY(PR_PROFILE_AUTH_PACKAGE, OUTL_RPC_AUTHN_ANONYMOUS, flagVALUE)

	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_ENTRYID_UNIQUE, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_READONLY, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_SEARCH_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_MODIFY_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_CREATE_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_ATTACH_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_OLE_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_SUBMIT_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_NOTIFY_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_MV_PROPS_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_CATEGORIZE_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_RTF_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_RESTRICTION_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_SORT_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_PUBLIC_FOLDERS, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_UNCOMPRESSED_RTF, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_HTML_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_ANSI_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_UNICODE_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_LOCALSTORE, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_ITEMPROC, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_PUSHER_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_FULLTEXT_QUERY_OK, flagFLAG)
	FLAG_ENTRY(PR_CONTAB_STORE_SUPPORT_MASKS, STORE_FILTER_SEARCH_OK, flagFLAG)

	FLAG_ENTRY(PR_ROH_FLAGS, ROHFLAGS_USE_ROH, flagFLAG)
	FLAG_ENTRY(PR_ROH_FLAGS, ROHFLAGS_SSL_ONLY, flagFLAG)
	FLAG_ENTRY(PR_ROH_FLAGS, ROHFLAGS_MUTUAL_AUTH, flagFLAG)
	FLAG_ENTRY(PR_ROH_FLAGS, ROHFLAGS_HTTP_FIRST_ON_FAST, flagFLAG)
	FLAG_ENTRY(PR_ROH_FLAGS, PRXF_IGNORE_SEC_WARNING, flagFLAG)
	FLAG_ENTRY(PR_ROH_FLAGS, ROHFLAGS_HTTP_FIRST_ON_SLOW, flagFLAG)

	FLAG_ENTRY(PR_ROH_PROXY_AUTH_SCHEME, RPC_C_HTTP_AUTHN_SCHEME_BASIC, flagFLAG)
	FLAG_ENTRY(PR_ROH_PROXY_AUTH_SCHEME, RPC_C_HTTP_AUTHN_SCHEME_NTLM, flagFLAG)
	FLAG_ENTRY(PR_ROH_PROXY_AUTH_SCHEME, RPC_C_HTTP_AUTHN_SCHEME_PASSPORT, flagFLAG)
	FLAG_ENTRY(PR_ROH_PROXY_AUTH_SCHEME, RPC_C_HTTP_AUTHN_SCHEME_DIGEST, flagFLAG)
	FLAG_ENTRY(PR_ROH_PROXY_AUTH_SCHEME, RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE, flagFLAG)
	FLAG_ENTRY(PR_ROH_PROXY_AUTH_SCHEME, RPC_C_HTTP_AUTHN_SCHEME_CERT, flagFLAG)

	FLAG_ENTRY(PR_RIGHTS, frightsReadAny, flagFLAG)
	FLAG_ENTRY(PR_RIGHTS, frightsCreate, flagFLAG)
	FLAG_ENTRY(PR_RIGHTS, frightsEditOwned, flagFLAG)
	FLAG_ENTRY(PR_RIGHTS, frightsDeleteOwned, flagFLAG)
	FLAG_ENTRY(PR_RIGHTS, frightsEditAny, flagFLAG)
	FLAG_ENTRY(PR_RIGHTS, frightsDeleteAny, flagFLAG)
	FLAG_ENTRY(PR_RIGHTS, frightsCreateSubfolder, flagFLAG)
	FLAG_ENTRY(PR_RIGHTS, frightsOwner, flagFLAG)
	FLAG_ENTRY(PR_RIGHTS, frightsContact, flagFLAG)
	FLAG_ENTRY(PR_RIGHTS, frightsVisible, flagFLAG)

	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_UNKNOWN, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_LOAD, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_DELIVERY, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_PARSING, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_CREATE_DAE, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_NO_FOLDER, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_NO_RIGHTS, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_CREATE_DAM, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_NO_SENDAS, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_NO_TEMPLATE, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_EXECUTION, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_QUOTA_EXCEEDED, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_TOO_MANY_RECIPS, flagVALUE)
	FLAG_ENTRY(PR_RULE_ERROR, RULE_ERR_FOLDER_OVER_QUOTA, flagVALUE)

	FLAG_ENTRY(PR_X400_ENVELOPE_TYPE, ENV_BLANK, flagVALUE) // NULL value
	FLAG_ENTRY(PR_X400_ENVELOPE_TYPE, ENV_RECIP_NUM, flagFLAG)
	FLAG_ENTRY(PR_X400_ENVELOPE_TYPE, ENV_MSG_EXT, flagFLAG)
	FLAG_ENTRY(PR_X400_ENVELOPE_TYPE, ENV_RECIP_EXT, flagFLAG)

	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsReadAny, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsCreate, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsEditOwned, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsDeleteOwned, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsEditAny, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsDeleteAny, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsCreateSubfolder, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsOwner, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsContact, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsVisible, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsFreeBusySimple, flagFLAG)
	FLAG_ENTRY(PR_MEMBER_RIGHTS, frightsFreeBusyDetailed, flagFLAG)

	FLAG_ENTRY(PR_RULE_STATE, ST_DISABLED, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_RULE_STATE, ST_ENABLED, flagFLAG)
	FLAG_ENTRY(PR_RULE_STATE, ST_ERROR, flagFLAG)
	FLAG_ENTRY(PR_RULE_STATE, ST_ONLY_WHEN_OOF, flagFLAG)
	FLAG_ENTRY(PR_RULE_STATE, ST_KEEP_OOF_HIST, flagFLAG)
	FLAG_ENTRY(PR_RULE_STATE, ST_EXIT_LEVEL, flagFLAG)
	FLAG_ENTRY(PR_RULE_STATE, ST_SKIP_IF_SCL_IS_SAFE, flagFLAG)
	FLAG_ENTRY(PR_RULE_STATE, ST_RULE_PARSE_ERROR, flagFLAG)
	FLAG_ENTRY(PR_RULE_STATE, ST_CLEAR_OOF_HIST, flagFLAG)

	// Check for 0xFFFFFFFF has to come first as a value check
	FLAG_ENTRY(PR_REPLICATION_STYLE, STYLE_DEFAULT, flagVALUE)
	FLAG_ENTRY(PR_REPLICATION_STYLE, STYLE_NEVER, flagFLAG)
	FLAG_ENTRY(PR_REPLICATION_STYLE, STYLE_NORMAL, flagFLAG)
	FLAG_ENTRY(PR_REPLICATION_STYLE, STYLE_ALWAYS, flagFLAG)

	// Check for 0xFFFFFFFF has to come first as a value check
	FLAG_ENTRY(PR_STORAGE_LIMIT_INFORMATION, MDB_QUOTA_NOQUOTA, flagVALUE)
	FLAG_ENTRY(PR_STORAGE_LIMIT_INFORMATION, MDB_LIMIT_BELOW, flagFLAG)
	FLAG_ENTRY(PR_STORAGE_LIMIT_INFORMATION, MDB_LIMIT_ISSUE_WARNING, flagFLAG)
	FLAG_ENTRY(PR_STORAGE_LIMIT_INFORMATION, MDB_LIMIT_PROHIBIT_SEND, flagFLAG)
	FLAG_ENTRY(PR_STORAGE_LIMIT_INFORMATION, MDB_LIMIT_NO_CHECK, flagFLAG)
	FLAG_ENTRY(PR_STORAGE_LIMIT_INFORMATION, MDB_LIMIT_DISABLED, flagFLAG)

	FLAG_ENTRY(PR_FOLDER_FLAGS, MDB_FOLDER_IPM, flagFLAG)
	FLAG_ENTRY(PR_FOLDER_FLAGS, MDB_FOLDER_SEARCH, flagFLAG)
	FLAG_ENTRY(PR_FOLDER_FLAGS, MDB_FOLDER_NORMAL, flagFLAG)
	FLAG_ENTRY(PR_FOLDER_FLAGS, MDB_FOLDER_RULES, flagFLAG)

	FLAG_ENTRY(PR_PST_ENCRYPTION, PSTF_NO_ENCRYPTION, flagFLAG)
	FLAG_ENTRY(PR_PST_ENCRYPTION, PSTF_COMPRESSABLE_ENCRYPTION, flagFLAG)
	FLAG_ENTRY(PR_PST_ENCRYPTION, PSTF_BEST_ENCRYPTION, flagFLAG)

	FLAG_ENTRY(PR_PST_CONFIG_FLAGS, PST_CONFIG_CREATE_NOWARN, flagFLAG)
	FLAG_ENTRY(PR_PST_CONFIG_FLAGS, PST_CONFIG_PRESERVE_DISPLAY_NAME, flagFLAG)
	FLAG_ENTRY(PR_PST_CONFIG_FLAGS, OST_CONFIG_POLICY_DELAY_IGNORE_OST, flagFLAG)
	FLAG_ENTRY(PR_PST_CONFIG_FLAGS, OST_CONFIG_CREATE_NEW_DEFAULT_OST, flagFLAG)
	FLAG_ENTRY(PR_PST_CONFIG_FLAGS, PST_CONFIG_UNICODE, flagFLAG)

	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_NUMBER, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_TEXT, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_BINARY, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_MRES, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_FILTERSTREAM, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_FOLDERNAME, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_FOLDERLIST, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_TIMERES_MONTHLY, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_TIMERES_WEEKLY, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_TIMERES_DAILY, flagFLAG)
	FLAG_ENTRY(PR_WB_SF_STORAGE_TYPE, SFST_DEAD, flagFLAG)

	FLAG_ENTRY(PR_WLINK_TYPE, wblNormalFolder, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_WLINK_TYPE, wblSearchFolder, flagVALUE)
	FLAG_ENTRY(PR_WLINK_TYPE, wblSharedFolder, flagVALUE)
	FLAG_ENTRY(PR_WLINK_TYPE, wblHeader, flagVALUE)

	FLAG_ENTRY(PR_WLINK_FLAGS, sipPublicFolder, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipImapFolder, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipWebDavFolder, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipSharePointFolder, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipRootFolder, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipSharedOut, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipSharedIn, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipPersonFolder, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipiCal, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipOverlay, flagFLAG)
	FLAG_ENTRY(PR_WLINK_FLAGS, sipOneOffName, flagFLAG)

	FLAG_ENTRY(PR_WLINK_SECTION, wbsidMailFavorites, flagVALUE)
	FLAG_ENTRY(PR_WLINK_SECTION, wbsidCalendar, flagVALUE)
	FLAG_ENTRY(PR_WLINK_SECTION, wbsidContacts, flagVALUE)
	FLAG_ENTRY(PR_WLINK_SECTION, wbsidTasks, flagVALUE)
	FLAG_ENTRY(PR_WLINK_SECTION, wbsidNotes, flagVALUE)
	FLAG_ENTRY(PR_WLINK_SECTION, wbsidJournal, flagVALUE)

	FLAG_ENTRY(PR_AGING_DEFAULT, AG_DEFAULT_FILE, flagFLAG)
	FLAG_ENTRY(PR_AGING_DEFAULT, AG_DEFAULT_ALL, flagFLAG)

	// Multivalued, but this works anyway.
	FLAG_ENTRY_NAMED(PR_DELEGATE_FLAGS, 0x00000000, L"HidePrivate", flagVALUE) // STRING_OK
	FLAG_ENTRY_NAMED(PR_DELEGATE_FLAGS, 0x00000001, L"ShowPrivate", flagVALUE) // STRING_OK

	FLAG_ENTRY(PR_WLINK_RO_GROUP_TYPE, wbrogMyDepartment, flagVALUE) // NULL Value
	FLAG_ENTRY(PR_WLINK_RO_GROUP_TYPE, wbrogUndefined, flagVALUE)
	FLAG_ENTRY(PR_WLINK_RO_GROUP_TYPE, wbrogOtherDepartment, flagVALUE)
	FLAG_ENTRY(PR_WLINK_RO_GROUP_TYPE, wbrogDirectReportGroup, flagVALUE)
	FLAG_ENTRY(PR_WLINK_RO_GROUP_TYPE, wbrogCoworkerGroup, flagVALUE)
	FLAG_ENTRY(PR_WLINK_RO_GROUP_TYPE, wbrogDL, flagVALUE)

	FLAG_ENTRY(PR_SECURITY_FLAGS, SECFLAG_NONE, flagFLAG) // NULL Value
	FLAG_ENTRY(PR_SECURITY_FLAGS, SECFLAG_ENCRYPTED, flagFLAG)
	FLAG_ENTRY(PR_SECURITY_FLAGS, SECFLAG_SIGNED, flagFLAG)

	FLAG_ENTRY(PR_ATTACHMENT_FLAGS, afException, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagSearchFlag, STOP_SEARCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchFlag, RESTART_SEARCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchFlag, RECURSIVE_SEARCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchFlag, SHALLOW_SEARCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchFlag, FOREGROUND_SEARCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchFlag, BACKGROUND_SEARCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchFlag, CONTENT_INDEXED_SEARCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchFlag, NON_CONTENT_INDEXED_SEARCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchFlag, STATIC_SEARCH, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagSearchState, SEARCH_RUNNING, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, SEARCH_REBUILD, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, SEARCH_RECURSIVE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, SEARCH_FOREGROUND, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, SEARCH_COMPLETE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, SEARCH_PARTIAL, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, SEARCH_STATIC, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, SEARCH_MAYBE_STATIC, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, CI_TOTALLY, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, CI_WITH_TWIR_RESIDUAL, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, TWIR_MOSTLY, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, TWIR_TOTALLY, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSearchState, MAPI_UNICODE, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagTableStatus, TBLSTAT_COMPLETE, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagTableStatus, TBLSTAT_QCHANGED, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableStatus, TBLSTAT_SORTING, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableStatus, TBLSTAT_SORT_ERROR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableStatus, TBLSTAT_SETTING_COLS, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableStatus, TBLSTAT_SETCOL_ERROR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableStatus, TBLSTAT_RESTRICTING, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableStatus, TBLSTAT_RESTRICT_ERROR, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagTableType, TBLTYPE_SNAPSHOT, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagTableType, TBLTYPE_KEYSET, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableType, TBLTYPE_DYNAMIC, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagSecurityVersion, SECURITY_DESCRIPTOR_TRANSFER_VERSION, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagSecurityInfo, OWNER_SECURITY_INFORMATION, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSecurityInfo, GROUP_SECURITY_INFORMATION, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSecurityInfo, DACL_SECURITY_INFORMATION, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSecurityInfo, SACL_SECURITY_INFORMATION, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSecurityInfo, PROTECTED_DACL_SECURITY_INFORMATION, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSecurityInfo, PROTECTED_SACL_SECURITY_INFORMATION, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSecurityInfo, UNPROTECTED_DACL_SECURITY_INFORMATION, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagSecurityInfo, UNPROTECTED_SACL_SECURITY_INFORMATION, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagACEFlag, OBJECT_INHERIT_ACE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEFlag, CONTAINER_INHERIT_ACE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEFlag, NO_PROPAGATE_INHERIT_ACE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEFlag, INHERIT_ONLY_ACE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEFlag, INHERITED_ACE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEFlag, SUCCESSFUL_ACCESS_ACE_FLAG, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEFlag, FAILED_ACCESS_ACE_FLAG, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagACEType, ACCESS_ALLOWED_ACE_TYPE, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagACEType, ACCESS_DENIED_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, SYSTEM_AUDIT_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, SYSTEM_ALARM_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, ACCESS_ALLOWED_COMPOUND_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, ACCESS_ALLOWED_OBJECT_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, ACCESS_DENIED_OBJECT_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, SYSTEM_AUDIT_OBJECT_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, SYSTEM_ALARM_OBJECT_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, ACCESS_ALLOWED_CALLBACK_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, ACCESS_DENIED_CALLBACK_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, SYSTEM_AUDIT_CALLBACK_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, SYSTEM_ALARM_CALLBACK_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagACEType, SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightListContents, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightCreateItem, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightCreateContainer, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightReadProperty, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightWriteProperty, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightExecute, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightReserved1, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightReadAttributes, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightWriteAttributes, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightViewItem, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightOwner, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightContact, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightWriteSD, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightDelete, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightWriteOwner, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightReadControl, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskContainer, fsdrightSynchronize, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightReadBody, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightWriteBody, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightAppendMsg, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightReadProperty, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightWriteProperty, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightExecute, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightReadAttributes, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightWriteAttributes, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightWriteOwnProperty, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightDeleteOwnItem, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightViewItem, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightWriteSD, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightDelete, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightWriteOwner, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightReadControl, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskNonContainer, fsdrightSynchronize, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagACEMaskFreeBusy, fsdrightFreeBusySimple, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagACEMaskFreeBusy, fsdrightFreeBusyDetailed, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagStreamFlag, MAPI_NATIVE_BODY_TYPE_RTF, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagStreamFlag, MAPI_NATIVE_BODY_TYPE_HTML, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagStreamFlag, MAPI_NATIVE_BODY_TYPE_PLAINTEXT, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_AND, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_OR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_NOT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_CONTENT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_PROPERTY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_COMPAREPROPS, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_BITMASK, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_SIZE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_EXIST, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_SUBRESTRICTION, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_COMMENT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_COUNT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRestrictionType, RES_ANNOTATION, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagBitmask, BMR_EQZ, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagBitmask, BMR_NEZ, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagRelop, RELOP_LT, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagRelop, RELOP_LE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRelop, RELOP_GT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRelop, RELOP_GE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRelop, RELOP_EQ, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRelop, RELOP_NE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRelop, RELOP_RE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRelop, RELOP_MEMBER_OF_DL, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagActionType, OP_MOVE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_COPY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_REPLY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_OOF_REPLY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_DEFER_ACTION, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_BOUNCE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_FORWARD, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_DELEGATE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_TAG, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_DELETE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagActionType, OP_MARK_AS_READ, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagBounceCode, BOUNCE_MESSAGE_SIZE_TOO_LARGE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagBounceCode, BOUNCE_FORMS_MISMATCH, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagBounceCode, BOUNCE_ACCESS_DENIED, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagOPReply, DO_NOT_SEND_TO_ORIGINATOR, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOPReply, STOCK_REPLY_TEMPLATE, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagOpForward, FWD_PRESERVE_SENDER, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOpForward, FWD_DO_NOT_MUNGE_MSG, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOpForward, FWD_AS_ATTACHMENT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOpForward, FWD_AS_SMS_ALERT, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagFuzzyLevel, FL_PREFIX_ON_ANY_WORD, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFuzzyLevel, FL_PHRASE_MATCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFuzzyLevel, FL_IGNORECASE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFuzzyLevel, FL_IGNORENONSPACE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFuzzyLevel, FL_LOOSE, flagFLAG)
	// This entry clears any high level bits so we can look at the low order as a value
	NON_PROP_CLEAR_BITS_ENTRY(flagFuzzyLevel, 0xfffffff0)
	NON_PROP_FLAG_ENTRY(flagFuzzyLevel, FL_FULLSTRING, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFuzzyLevel, FL_SUBSTRING, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFuzzyLevel, FL_PREFIX, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagRulesVersion, EDK_RULES_VERSION, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevCriticalError, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevNewMail, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevObjectCreated, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevObjectDeleted, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevObjectModified, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevObjectMoved, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevObjectCopied, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevSearchComplete, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevTableModified, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevStatusObjectModified, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevIndexing, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevReservedForMapi, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagNotifEventType, fnevExtended, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagTableEventType, TABLE_CHANGED, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableEventType, TABLE_ERROR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableEventType, TABLE_ROW_ADDED, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableEventType, TABLE_ROW_DELETED, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableEventType, TABLE_ROW_MODIFIED, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableEventType, TABLE_SORT_DONE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableEventType, TABLE_RESTRICT_DONE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableEventType, TABLE_SETCOL_DONE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagTableEventType, TABLE_RELOAD, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagTZRule, TZRULE_FLAG_RECUR_CURRENT_TZREG, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagTZRule, TZRULE_FLAG_EFFECTIVE_TZREG, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagExtendedFolderFlagType, EFPB_FLAGS, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagExtendedFolderFlagType, EFPB_CLSIDID, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagExtendedFolderFlagType, EFPB_SFTAG, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagExtendedFolderFlagType, EFPB_TODO_VERSION, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagExtendedFolderFlag, XEFF_NORMAL, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagExtendedFolderFlag, XEFF_SHOW_UNREAD_COUNT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagExtendedFolderFlag, XEFF_SHOW_CONTENT_COUNT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagExtendedFolderFlag, XEFF_SHOW_NO_POLICY, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagRecurFrequency, IDC_RCEV_PAT_ORB_DAILY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRecurFrequency, IDC_RCEV_PAT_ORB_WEEKLY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRecurFrequency, IDC_RCEV_PAT_ORB_MONTHLY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagRecurFrequency, IDC_RCEV_PAT_ORB_YEARLY, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagPatternType, rptMinute, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagPatternType, rptWeek, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPatternType, rptMonth, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPatternType, rptMonthNth, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPatternType, rptMonthEnd, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPatternType, rptHjMonth, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPatternType, rptHjMonthNth, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPatternType, rptHjMonthEnd, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_DEFAULT, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_GREGORIAN_US, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_JAPAN, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_TAIWAN, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_KOREA, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_HIJRI, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_THAI, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_HEBREW, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_GREGORIAN_ME_FRENCH, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_GREGORIAN_ARABIC, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_GREGORIAN_XLIT_ENGLISH, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_GREGORIAN_XLIT_FRENCH, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_JAPAN_LUNAR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_CHINESE_LUNAR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_SAKA, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagCalendarType, CAL_LUNAR_KOREAN, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagDOW, rdfSun, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagDOW, rdfMon, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagDOW, rdfTue, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagDOW, rdfWed, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagDOW, rdfThu, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagDOW, rdfFri, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagDOW, rdfSat, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagN, rpn1st, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagN, rpn2nd, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagN, rpn3rd, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagN, rpn4th, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagN, rpnLast, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagEndType, IDC_RCEV_PAT_ERB_END, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagEndType, IDC_RCEV_PAT_ERB_AFTERNOCCUR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagEndType, IDC_RCEV_PAT_ERB_NOEND, flagVALUE)
	NON_PROP_FLAG_ENTRY_NAMED(flagEndType, 0xFFFFFFFF, L"Never end", flagVALUE) // STRING_OK

	NON_PROP_FLAG_ENTRY_NAMED(flagFirstDOW, 0x0, L"Sunday", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagFirstDOW, 0x1, L"Monday", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagFirstDOW, 0x2, L"Tuesday", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagFirstDOW, 0x3, L"Wednesday", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagFirstDOW, 0x4, L"Thursday", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagFirstDOW, 0x5, L"Friday", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagFirstDOW, 0x6, L"Saturday", flagVALUE) // STRING_OK

	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_SUBJECT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_MEETINGTYPE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_REMINDERDELTA, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_REMINDER, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_LOCATION, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_BUSYSTATUS, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_ATTACHMENT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_SUBTYPE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_APPTCOLOR, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOverrideFlags, ARO_EXCEPTIONAL_BODY, flagFLAG)

	NON_PROP_FLAG_ENTRY_NAMED(flagReportTagVersion, 0x00010002, L"CurrentVersion", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagReportTagVersion, 0x00010001, L"NoSearchFolderVersion", flagVALUE) // STRING_OK

	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x01, L"January", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x02, L"February", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x03, L"March", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x04, L"April", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x05, L"May", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x06, L"June", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x07, L"July", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x08, L"August", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x09, L"September", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x0A, L"October", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x0B, L"November", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagGlobalObjectIdMonth, 0x0C, L"December", flagVALUE) // STRING_OK

	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, MAPI_UNICODE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, MAPI_SEND_NO_RICH_INFO, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, OOP_DONT_LOOKUP, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, BODY_ENCODING_HTML, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, BODY_ENCODING_TEXT_AND_HTML, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, ENCODING_MIME, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, ENCODING_PREFERENCE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, MAC_ATTACH_ENCODING_APPLEDOUBLE, flagFLAG) // Must appear before MAC_ATTACH_ENCODING_APPLESINGLE and MAC_ATTACH_ENCODING_UUENCODE
	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, MAC_ATTACH_ENCODING_APPLESINGLE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagOneOffEntryId, MAC_ATTACH_ENCODING_UUENCODE, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagEntryId0, EPHEMERAL, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagEntryId0, MAPI_NOTRESERVED, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagEntryId0, MAPI_NOW, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagEntryId0, MAPI_THISSESSION, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagEntryId0, MAPI_NOTRECIP, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagEntryId0, MAPI_SHORTTERM, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagEntryId1, MAPI_COMPOUND, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagMessageDatabaseObjectType, eitLTPrivateFolder, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagMessageDatabaseObjectType, eitLTPublicFolder, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagMessageDatabaseObjectType, eitLTWackyFolder, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagMessageDatabaseObjectType, eitLTPrivateMessage, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagMessageDatabaseObjectType, eitLTPublicMessage, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagMessageDatabaseObjectType, eitLTWackyMessage, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagMessageDatabaseObjectType, eitLTPublicFolderByName, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagContabVersion, CONTAB_VERSION, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagContabType, CONTAB_ROOT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagContabType, CONTAB_SUBROOT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagContabType, CONTAB_CONTAINER, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagContabType, CONTAB_USER, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagContabType, CONTAB_DISTLIST, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagContabIndex, EEI_EMAIL_1, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagContabIndex, EEI_EMAIL_2, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagContabIndex, EEI_EMAIL_3, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagContabIndex, EEI_FAX_1, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagContabIndex, EEI_FAX_2, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagContabIndex, EEI_FAX_3, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagContabIndex, EMAIL_TYPE_UNDEFINED, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagExchangeABVersion, EMS_VERSION, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagMDBVersion, MAPIMDB_VERSION, flagVALUE) // NULL Value

	NON_PROP_FLAG_ENTRY(flagMDBFlag, MAPIMDB_NORMAL, flagVALUE) // NULL Value

	NON_PROP_FLAG_ENTRY(flagPropDefVersion, PropDefV1, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPropDefVersion, PropDefV2, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagPDOFlag, PDO_IS_CUSTOM, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagPDOFlag, PDO_REQUIRED, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagPDOFlag, PDO_PRINT_SAVEAS, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagPDOFlag, PDO_CALC_AUTO, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagPDOFlag, PDO_FT_CONCAT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagPDOFlag, PDO_FT_SWITCH, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagPDOFlag, PDO_PRINT_SAVEAS_DEF, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_EMPTY, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_NULL, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_I2, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_I4, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_R4, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_R8, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_CY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_DATE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_BSTR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_DISPATCH, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_ERROR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_BOOL, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_VARIANT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_UNKNOWN, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_DECIMAL, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_I1, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_UI1, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_UI2, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_UI4, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_I8, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_UI8, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_INT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_UINT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_VOID, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_HRESULT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_PTR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_SAFEARRAY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_CARRAY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_USERDEFINED, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_LPSTR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_LPWSTR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_RECORD, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_INT_PTR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_UINT_PTR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_FILETIME, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_BLOB, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_STREAM, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_STORAGE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_STREAMED_OBJECT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_STORED_OBJECT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_BLOB_OBJECT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_CF, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_CLSID, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_VERSIONED_STREAM, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_BSTR_BLOB, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_VECTOR, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_ARRAY, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_BYREF, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_RESERVED, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_ILLEGAL, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_ILLEGALMASKED, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagVarEnum, VT_TYPEMASK, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeUnknown, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeString, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeNumber, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypePercent, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeCurrency, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeBool, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeDateTime, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeDuration, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeCombination, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeFormula, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeIntResult, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeVariant, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeFloatResult, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeConcat, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeKeywords, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagInternalType, iTypeInteger, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagPersistID, RSF_PID_RSS_SUBSCRIPTION, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPersistID, RSF_PID_SEND_AND_TRACK, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPersistID, RSF_PID_TODO_SEARCH, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPersistID, RSF_PID_CONV_ACTIONS, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPersistID, RSF_PID_COMBINED_ACTIONS, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagPersistID, RSF_PID_SUGGESTED_CONTACTS, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagElementID, RSF_ELID_ENTRYID, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagElementID, RSF_ELID_HEADER, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagWABEntryIDType, BFLAGS_MASK_OUTLOOK, flagFLAG)
	NON_PROP_FLAG_ENTRYLOWERNIBBLE(flagWABEntryIDType, BFLAGS_INTERNAL_MAILUSER, Type)
	NON_PROP_FLAG_ENTRYLOWERNIBBLE(flagWABEntryIDType, BFLAGS_INTERNAL_DISTLIST, Type)
	NON_PROP_FLAG_ENTRYLOWERNIBBLE(flagWABEntryIDType, BFLAGS_EXTERNAL_MAILUSER, Type)
	NON_PROP_FLAG_ENTRYLOWERNIBBLE(flagWABEntryIDType, BFLAGS_EXTERNAL_DISTLIST, Type)
	NON_PROP_FLAG_ENTRY_NAMED(flagWABEntryIDType, 0x00, L"Business Fax", flagVALUE) // NULL Value // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagWABEntryIDType, 0x10, L"Home Fax", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagWABEntryIDType, 0x20, L"Primary Fax", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagWABEntryIDType, 0x30, L"Not a contact", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagWABEntryIDType, 0x40, L"Email1", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagWABEntryIDType, 0x50, L"Email2", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY_NAMED(flagWABEntryIDType, 0x60, L"Email3", flagVALUE) // STRING_OK

	NON_PROP_FLAG_ENTRY(flagWebViewVersion, WEBVIEW_PERSISTENCE_VERSION, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagWebViewType, WEBVIEWURL, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagWebViewFlags, WEBVIEW_FLAGS_SHOWBYDEFAULT, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagFolderType, ftNull, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagFolderType, ftString, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFolderType, ftInteger, flagVALUE)
	NON_PROP_FLAG_ENTRY_NAMED(flagFolderType, 0x05, L"ftTime", flagVALUE) // STRING_OK
	NON_PROP_FLAG_ENTRY(flagFolderType, ftBoolean, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFolderType, ftDuration, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFolderType, ftMultiString, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFolderType, ftFloat, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFolderType, ftCurrency, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFolderType, ftCalc, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFolderType, ftSwitch, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagFolderType, ftConcat, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagFieldCap, FCAPM_CAN_EDIT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFieldCap, FCAPM_CAN_SORT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFieldCap, FCAPM_CAN_GROUP, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFieldCap, FCAPM_MULTILINE_TEXT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFieldCap, FCAPM_PERCENT, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFieldCap, FCAPM_DATEONLY, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFieldCap, FCAPM_UNITLESS, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagFieldCap, FCAPM_CAN_EDIT_IN_ITEM, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_SMTP, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_NOHEADERS, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_USE_TNEF, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_INCLUDE_BCC, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_8BITHEADERS, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_USE_RTF, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_PLAIN_TEXT_ONLY, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_NO_MSGID, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_EMBEDDED_MESSAGE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_PRESERVE_SOURCE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCcsf, CCSF_GLOBAL_MESSAGE, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagIet, IET_BINARY, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagIet, IET_BASE64, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_UUENCODE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_QP, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_7BIT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_8BIT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_INETCSET, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_UNICODE, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_RFC1522, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_ENCODED, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_CURRENT, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_UNKNOWN, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagIet, IET_BINHEX40, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagEidMagic, MDB_STORE_EID_V2_MAGIC, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagEidMagic, MDB_STORE_EID_V3_MAGIC, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagEidVersion, MDB_STORE_EID_V1_VERSION, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagEidVersion, MDB_STORE_EID_V2_VERSION, flagVALUE)
	NON_PROP_FLAG_ENTRY(flagEidVersion, MDB_STORE_EID_V3_VERSION, flagVALUE)

	NON_PROP_FLAG_ENTRY(flagToDoSwapFlag, TDP_NONE, flagVALUE) // NULL Value
	NON_PROP_FLAG_ENTRY(flagToDoSwapFlag, TDP_ITEM_FLAGS, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagToDoSwapFlag, TDP_START_DATE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagToDoSwapFlag, TDP_DUE_DATE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagToDoSwapFlag, TDP_TITLE, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagToDoSwapFlag, TDP_REMINDER_FLAG, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagToDoSwapFlag, TDP_REMINDER_TIME, flagFLAG)

	NON_PROP_FLAG_ENTRY(flagCapabilitiesFolder, MSCAP_SECURE_FOLDER_HOMEPAGES, flagFLAG)
	NON_PROP_FLAG_ENTRY(flagCapabilitiesRestriction, MSCAP_RES_ANNOTATION, flagFLAG)

	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciManager, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciDelegate, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciDeletedWithNoResponse, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciDeletedExceptionWithNoResponse, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciRespondedTentative, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciRespondedAccept, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciRespondedDecline, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciModifiedStartTime, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciModifiedEndTime, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciModifiedLocation, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciRespondedExceptionDecline, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciCanceled, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidClientIntent, PSETID_Common, ciExceptionCanceled, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_GREGORIAN, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_GREGORIAN_US, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_JAPAN, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_TAIWAN, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_KOREA, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_HIJRI, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_THAI, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_HEBREW, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_GREGORIAN_ME_FRENCH, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_GREGORIAN_ARABIC, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_GREGORIAN_XLIT_ENGLISH, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_GREGORIAN_XLIT_FRENCH, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_JAPAN_LUNAR, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_CHINESE_LUNAR, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_SAKA, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(LID_CALENDAR_TYPE, PSETID_Meeting, CAL_LUNAR_KOREAN, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidMeetingType, PSETID_Meeting, mtgEmpty, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidMeetingType, PSETID_Meeting, mtgRequest, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidMeetingType, PSETID_Meeting, mtgFull, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidMeetingType, PSETID_Meeting, mtgInfo, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidMeetingType, PSETID_Meeting, mtgOutofDate, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidMeetingType, PSETID_Meeting, mtgDelegatorCopy, flagFLAG)

	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, FILEUNDERID_NONE, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, FILEUNDERID_CUSTOM, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, FILEUNDERID_CALLINIT, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, FILEUNDERID_CALCULATE, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, PROP_ID(PR_DISPLAY_NAME), flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, PROP_ID(PR_GIVEN_NAME), flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, PROP_ID(PR_SURNAME), flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidLastNameAndFirstName, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidCompanyAndFullName, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidFullNameAndCompany, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidLastFirstNoSpace, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidLastFirstSpaceOnly, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidCompanyLastFirstNoSpace, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidCompanyLastFirstSpaceOnly, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidLastFirstNoSpaceCompany, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidLastFirstSpaceOnlyCompany, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidLastFirstAndSuffix, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidFirstMiddleLastSuffix, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderId, PSETID_Address, dispidLastFirstNoSpaceAndSuffix, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidContactItemData, PSETID_Address, ADDRESS_NONE, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidContactItemData, PSETID_Address, ADDRESS_HOME, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidContactItemData, PSETID_Address, ADDRESS_WORK, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidContactItemData, PSETID_Address, ADDRESS_OTHER, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidContactItemData, PSETID_Address, dispidEmail1DisplayName, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidContactItemData, PSETID_Address, dispidEmail2DisplayName, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidContactItemData, PSETID_Address, dispidEmail3DisplayName, flagVALUE)
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_HOME_TELEPHONE_NUMBER), L"PR_OFFICE_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_CELLULAR_TELEPHONE_NUMBER), L"PR_CELLULAR_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_PAGER_TELEPHONE_NUMBER), L"PR_PAGER_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_OFFICE2_TELEPHONE_NUMBER), L"PR_OFFICE2_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_HOME2_TELEPHONE_NUMBER), L"PR_HOME2_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_OTHER_TELEPHONE_NUMBER), L"PR_OTHER_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_RADIO_TELEPHONE_NUMBER), L"PR_RADIO_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_CAR_TELEPHONE_NUMBER), L"PR_CAR_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_TELEX_NUMBER), L"PR_TELEX_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_ISDN_NUMBER), L"PR_ISDN_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_ASSISTANT_TELEPHONE_NUMBER), L"PR_ASSISTANT_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_PRIMARY_FAX_NUMBER), L"PR_PRIMARY_FAX_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_BUSINESS_FAX_NUMBER), L"PR_BUSINESS_FAX_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_HOME_FAX_NUMBER), L"PR_HOME_FAX_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_CALLBACK_TELEPHONE_NUMBER), L"PR_CALLBACK_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_COMPANY_MAIN_PHONE_NUMBER), L"PR_COMPANY_MAIN_PHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_TTYTDD_PHONE_NUMBER), L"PR_TTYTDD_PHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_PRIMARY_TELEPHONE_NUMBER), L"PR_PRIMARY_TELEPHONE_NUMBER", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidContactItemData, PSETID_Address, PROP_ID(PR_BUSINESS_TELEPHONE_NUMBER), L"PR_BUSINESS_TELEPHONE_NUMBER", flagVALUE) // STRING_OK

	NAMEDPROP_FLAG_ENTRY(dispidPostalAddressId, PSETID_Address, ADDRESS_NONE, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidPostalAddressId, PSETID_Address, ADDRESS_HOME, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidPostalAddressId, PSETID_Address, ADDRESS_WORK, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidPostalAddressId, PSETID_Address, ADDRESS_OTHER, flagVALUE)

	// Multivalued, but this works anyway.
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, FILEUNDERID_NONE, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, FILEUNDERID_CUSTOM, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, FILEUNDERID_CALLINIT, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, FILEUNDERID_CALCULATE, flagVALUE)
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFileUnderList, PSETID_Address, PROP_ID(PR_COMPANY_NAME), L"PR_COMPANY_NAME", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFileUnderList, PSETID_Address, PROP_ID(PR_DISPLAY_NAME), L"PR_DISPLAY_NAME", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFileUnderList, PSETID_Address, PROP_ID(PR_GIVEN_NAME), L"PR_GIVEN_NAME", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFileUnderList, PSETID_Address, PROP_ID(PR_SURNAME), L"PR_SURNAME", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidLastNameAndFirstName, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidCompanyAndFullName, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidFullNameAndCompany, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidLastFirstNoSpace, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidLastFirstSpaceOnly, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidCompanyLastFirstNoSpace, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidCompanyLastFirstSpaceOnly, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidLastFirstNoSpaceCompany, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidLastFirstSpaceOnlyCompany, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidLastFirstAndSuffix, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidFirstMiddleLastSuffix, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidFileUnderList, PSETID_Address, dispidLastFirstNoSpaceAndSuffix, flagVALUE)

	// Multivalued, but this works anyway.
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPEmailList, PSETID_Address, 0x00000000, L"Email1", flagVALUE) // NULL Value // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPEmailList, PSETID_Address, 0x00000001, L"Email2", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPEmailList, PSETID_Address, 0x00000002, L"Email3", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPEmailList, PSETID_Address, 0x00000003, L"Business Fax", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPEmailList, PSETID_Address, 0x00000004, L"Home Fax", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPEmailList, PSETID_Address, 0x00000005, L"Primary Fax", flagVALUE) // STRING_OK

	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPArrayType, PSETID_Address, 0x01, L"Email1", flagFLAG) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPArrayType, PSETID_Address, 0x02, L"Email2", flagFLAG) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPArrayType, PSETID_Address, 0x04, L"Email3", flagFLAG) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPArrayType, PSETID_Address, 0x08, L"Business Fax", flagFLAG) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPArrayType, PSETID_Address, 0x10, L"Home Fax", flagFLAG) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidABPArrayType, PSETID_Address, 0x20, L"Primary Fax", flagFLAG) // STRING_OK

	NAMEDPROP_FLAG_ENTRY(dispidTaskStatus, PSETID_Task, tsvNotStarted, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidTaskStatus, PSETID_Task, tsvInProgress, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskStatus, PSETID_Task, tsvComplete, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskStatus, PSETID_Task, tsvWaiting, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskStatus, PSETID_Task, tsvDeferred, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidTaskState, PSETID_Task, tdsNOM, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidTaskState, PSETID_Task, tdsOWNNEW, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskState, PSETID_Task, tdsOWN, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskState, PSETID_Task, tdsACC, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskState, PSETID_Task, tdsDEC, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidTaskHistory, PSETID_Task, thNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidTaskHistory, PSETID_Task, thAccepted, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskHistory, PSETID_Task, thDeclined, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskHistory, PSETID_Task, thUpdated, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskHistory, PSETID_Task, thDueDateChanged, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskHistory, PSETID_Task, thAssigned, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidTaskMultRecips, PSETID_Task, tmrNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidTaskMultRecips, PSETID_Task, tmrSent, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidTaskMultRecips, PSETID_Task, tmrRcvd, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidTaskMultRecips, PSETID_Task, tmrTeamTask, flagFLAG)

	NAMEDPROP_FLAG_ENTRY(dispidTaskOwnership, PSETID_Task, tovNew, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidTaskOwnership, PSETID_Task, tovDeleg, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskOwnership, PSETID_Task, tovMe, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidTaskDelegValue, PSETID_Task, tdvNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidTaskDelegValue, PSETID_Task, tdvUnknown, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskDelegValue, PSETID_Task, tdvAccepted, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskDelegValue, PSETID_Task, tdvDeclined, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_START, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_END, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_RECUR, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_LOCATION, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_SUBJECT, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_REQATT, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_OPTATT, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_BODY, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_CUSTOM, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_SILENT, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_ALLOWPROPOSE, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_CONF, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_ATT_REM, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidChangeHighlight, PSETID_Appointment, BIT_CH_NOTUSED, flagFLAG)

	NAMEDPROP_FLAG_ENTRY(dispidBusyStatus, PSETID_Appointment, olFree, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidBusyStatus, PSETID_Appointment, olTentative, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidBusyStatus, PSETID_Appointment, olBusy, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidBusyStatus, PSETID_Appointment, olOutOfOffice, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidApptAuxFlags, PSETID_Appointment, auxApptFlagCopied, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidApptAuxFlags, PSETID_Appointment, auxApptFlagForceMtgResponse, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidApptAuxFlags, PSETID_Appointment, auxApptFlagForwarded, flagFLAG)

	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 0, L"None", flagVALUE) // NULL Value // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 1, L"Red", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 2, L"Blue", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 3, L"Green", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 4, L"Grey", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 5, L"Orange", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 6, L"Cyan", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 7, L"Olive", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 8, L"Purple", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 9, L"Teal", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidApptColor, PSETID_Appointment, 10, L"Yellow", flagVALUE) // STRING_OK

	NAMEDPROP_FLAG_ENTRY(dispidApptStateFlags, PSETID_Appointment, asfNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidApptStateFlags, PSETID_Appointment, asfMeeting, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidApptStateFlags, PSETID_Appointment, asfReceived, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidApptStateFlags, PSETID_Appointment, asfCancelled, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidApptStateFlags, PSETID_Appointment, asfForward, flagFLAG)

	NAMEDPROP_FLAG_ENTRY(dispidResponseStatus, PSETID_Appointment, respNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidResponseStatus, PSETID_Appointment, respOrganized, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidResponseStatus, PSETID_Appointment, respTentative, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidResponseStatus, PSETID_Appointment, respAccepted, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidResponseStatus, PSETID_Appointment, respDeclined, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidResponseStatus, PSETID_Appointment, respNotResponded, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidIntendedBusyStatus, PSETID_Appointment, olFree, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidIntendedBusyStatus, PSETID_Appointment, olTentative, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidIntendedBusyStatus, PSETID_Appointment, olBusy, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidIntendedBusyStatus, PSETID_Appointment, olOutOfOffice, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidRecurType, PSETID_Appointment, rectypeNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidRecurType, PSETID_Appointment, rectypeDaily, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidRecurType, PSETID_Appointment, rectypeWeekly, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidRecurType, PSETID_Appointment, rectypeMonthly, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidRecurType, PSETID_Appointment, rectypeYearly, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidConfType, PSETID_Appointment, confNetMeeting, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidConfType, PSETID_Appointment, confNetShow, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidConfType, PSETID_Appointment, confExchange, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seOpenToDelete, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seNoFrame, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seCoerceToInbox, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seOpenToCopy, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seOpenToMove, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seOpenForCtxMenu, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seCannotUndoDelete, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seCannotUndoCopy, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seCannotUndoMove, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seHasScript, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidSideEffects, PSETID_Common, seOpenToPermDelete, flagFLAG)

	NAMEDPROP_FLAG_ENTRY(dispidTaskMode, PSETID_Common, tdmtNothing, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidTaskMode, PSETID_Common, tdmtTaskReq, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskMode, PSETID_Common, tdmtTaskAcc, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskMode, PSETID_Common, tdmtTaskDec, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskMode, PSETID_Common, tdmtTaskUpd, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidTaskMode, PSETID_Common, tdmtTaskSELF, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidSniffState, PSETID_Common, ssNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidSniffState, PSETID_Common, ssOnSniff, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidSniffState, PSETID_Common, ssOnOpen, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidCustomFlag, PSETID_Common, INSP_PROPDEFINITION, flagFLAG)
	NAMEDPROP_FLAG_ENTRY(dispidCustomFlag, PSETID_Common, INSP_ONEOFFFLAGS, flagFLAG)

	NAMEDPROP_FLAG_ENTRY(dispidNonSendToTrackStatus, PSETID_Common, respNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidNonSendToTrackStatus, PSETID_Common, respOrganized, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendToTrackStatus, PSETID_Common, respTentative, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendToTrackStatus, PSETID_Common, respAccepted, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendToTrackStatus, PSETID_Common, respDeclined, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendToTrackStatus, PSETID_Common, respNotResponded, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidNonSendCcTrackStatus, PSETID_Common, respNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidNonSendCcTrackStatus, PSETID_Common, respOrganized, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendCcTrackStatus, PSETID_Common, respTentative, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendCcTrackStatus, PSETID_Common, respAccepted, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendCcTrackStatus, PSETID_Common, respDeclined, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendCcTrackStatus, PSETID_Common, respNotResponded, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidNonSendBccTrackStatus, PSETID_Common, respNone, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidNonSendBccTrackStatus, PSETID_Common, respOrganized, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendBccTrackStatus, PSETID_Common, respTentative, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendBccTrackStatus, PSETID_Common, respAccepted, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendBccTrackStatus, PSETID_Common, respDeclined, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNonSendBccTrackStatus, PSETID_Common, respNotResponded, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidImgAttchmtsCompressLevel, PSETID_Common, pclOriginal, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidImgAttchmtsCompressLevel, PSETID_Common, pclEmail, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidImgAttchmtsCompressLevel, PSETID_Common, pclWeb, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidImgAttchmtsCompressLevel, PSETID_Common, pclDocuments, flagVALUE)

	NAMEDPROP_FLAG_ENTRY(dispidOfflineStatus, PSETID_Common, costNil, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidOfflineStatus, PSETID_Common, costCheckedOut, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidOfflineStatus, PSETID_Common, costSimpleOffline, flagVALUE)

	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000001, L"Call", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000002, L"Do Not Forward", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000003, L"Follow Up", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000004, L"For Your Information", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000005, L"Forward", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000006, L"No Response Necessary", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000007, L"Read", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000008, L"Reply", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000009, L"Reply To All", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x0000000A, L"Review", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x0000006E, L"Follow Up", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000065, L"Call (Contact)", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000070, L"Arrange Meeting", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000071, L"Send E-mail", flagVALUE) // STRING_OK
	NAMEDPROP_FLAG_ENTRY_NAMED(dispidFlagStringEnum, PSETID_Common, 0x00000072, L"Send Letter", flagVALUE) // STRING_OK

	NAMEDPROP_FLAG_ENTRY(dispidLogFlags, PSETID_Log, lfContactLog, flagFLAG)

	NAMEDPROP_FLAG_ENTRY(dispidNoteColor, PSETID_Note, ncBlue, flagVALUE) // NULL Value
	NAMEDPROP_FLAG_ENTRY(dispidNoteColor, PSETID_Note, ncGreen, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNoteColor, PSETID_Note, ncPink, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNoteColor, PSETID_Note, ncYellow, flagVALUE)
	NAMEDPROP_FLAG_ENTRY(dispidNoteColor, PSETID_Note, ncWhite, flagVALUE)
	// clang-format on
};